6d16e4b9b342c5c4271af6ddd42d5645adae1749,integrations/opennms-map-provisioning-adapter/src/main/java/org/opennms/netmgt/provision/MapProvisioningAdapter.java,MapProvisioningAdapter,removeEmptySubmaps,#,349
Before Change
protected void removeEmptySubmaps() {
Map<String,List<Csubmap>> submaps = m_mapsAdapterConfig.getsubMaps();
Iterator<String> ite = submaps.keySet().iterator();
while (ite.hasNext()) {
String mapName = ite.next();
Iterator<Csubmap> sub_ite = submaps.get(mapName).iterator();
while (sub_ite.hasNext()) {
Csubmap csubmap = sub_ite.next();
if (csubmap.getAddwithoutelements()) continue;
OnmsMap onmsSubMap = getSuitableMap(csubmap.getName());
if (onmsSubMap.isNew()) continue;
if (onmsSubMap.getMapElements().size() == 0) {
OnmsMap onmsMap = getSuitableMap(mapName);
OnmsMapElement mapElement =
new OnmsMapElement(onmsMap,onmsSubMap.getId(),OnmsMapElement.MAP_TYPE,csubmap.getLabel(),csubmap.getIcon(),csubmap.getX(),csubmap.getY());
m_onmsMapElementDao.delete(mapElement);
m_onmsMapElementDao.flush();
onmsMap.setLastModifiedTime(new Date());
After Change
}
protected void removeEmptySubmap(OnmsMap submap) {
log().debug("removeEmptySubmap: verify delete map element which correspond to empty submap: " + submap.getName());
Map<String,List<Csubmap>> submaps = m_mapsAdapterConfig.getsubMaps();
for (String mapName : submaps.keySet()) {
for (Csubmap csubmap : submaps.get(mapName)) {
if (csubmap.getName().equals(submap.getName())) {
if (csubmap.getAddwithoutelements()) continue;
log().debug("removeEmptySubmap: delete from container map: '" + mapName +"' empty submap '" + submap.getName() );
OnmsMap onmsMap = getSuitableMap(mapName);
Integer mapid = onmsMap.getId();
OnmsMapElement mapElement = m_onmsMapElementDao.findMapElement(submap.getId(), OnmsMapElement.MAP_TYPE, onmsMap);
if (mapElement != null) {
m_onmsMapElementDao.delete(mapElement);
m_onmsMapElementDao.flush();
onmsMap = m_onmsMapDao.findMapById(mapid);
onmsMap.setLastModifiedTime(new Date());
m_onmsMapDao.update(onmsMap);
m_onmsMapDao.flush();